package com.ty.zls;

import android.app.Application;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.widget.Toast;

import com.qmuiteam.qmui.arch.QMUISwipeBackActivityManager;
import com.ty.zls.util.HttpUtil;
import com.ty.zls.util.PermissionPageUtils;
import com.ty.zls.util.UpdateVersionService;
import com.xuexiang.xaop.XAOP;
import com.xuexiang.xaop.util.PermissionUtils;
import com.xuexiang.xupdate.XUpdate;
import com.xuexiang.xupdate.entity.DownloadEntity;
import com.xuexiang.xupdate.entity.UpdateError;
import com.xuexiang.xupdate.listener.OnInstallListener;
import com.xuexiang.xupdate.listener.OnUpdateFailureListener;
import com.xuexiang.xupdate.service.OnFileDownloadListener;
import com.xuexiang.xupdate.utils.UpdateUtils;

import java.io.File;
import java.util.List;


public class ZlsApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        XUpdate.get()
                .debug(false)
                .isWifiOnly(false)     //默认设置只在wifi下检查版本更新
                .isGet(true)          //默认设置使用get请求检查版本
                .isAutoMode(true)
                .param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数
                .param("appKey", getPackageName())
                .setOnUpdateFailureListener(new OnUpdateFailureListener() { //设置版本更新出错的监听
                    @Override
                    public void onFailure(UpdateError error) {
                        Toast.makeText(ZlsApplication.this,error.toString(),Toast.LENGTH_SHORT).show();
                    }
                })
                .setIUpdateHttpService(new UpdateVersionService()) //这个必须设置！实现网络请求功能。
                .init(this);   //这个必须初始化

        XAOP.init(this); //初始化插件
        XAOP.debug(true); //日志打印切片开启
        //设置动态申请权限切片 申请权限被拒绝的事件响应监听
        XAOP.setOnPermissionDeniedListener(new PermissionUtils.OnPermissionDeniedListener() {
            @Override
            public void onDenied(List<String> permissionsDenied) {
                new PermissionPageUtils(ZlsApplication.this).jumpPermissionPage();
                Toast.makeText(ZlsApplication.this,"请先设置app权限",Toast.LENGTH_SHORT).show();
            }
        });

    }
}
